package com.photography.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.photography.common.Result;
import com.photography.entity.Cart;
import com.photography.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;


public interface OrdersService extends IService<Order> {
    /**
     * 创建订单
     */
    Result createOrder(Order order);

    /**
     * 更新订单状态
     */
    Result updateStatus(Integer orderId, String orderStatus);

    /**
     * 修改所有
     */
    Result updateAll(Order order);

    /**
     * 删除订单
     */
    Result deleteOrder(Integer orderId);

    /**
     * 分页查询订单
     */
    Page<Order> getOrdertPage(Page<Order> page,String orderStatus,Integer orderId);

    /**
     * 根据ID查询订单
     */
    Result findById(Integer orderId);
//
//    /**
//     * 清理待支付的过期订单
//     */
//    void cleanExpiredOrders();
//
    Result findOrderByStatus(Integer userId);

    /**
     * 统计最近30天的每日订单量
     * @return 返回日期和订单数量的统计结果
     */
    List<Map<String, Object>> getDailyOrderCount();


    List<Map<String, Object>> getTopProductCount();

    /**
     * 获取最近30天产品分类销售分布
     * @return 分类销售分布列表
     */
    List<Map<String, Object>> getCategoryDistribution();

    /**
     * 获取今日统计数据
     * @return 今日统计数据列表
     */
    List<Map<String, Object>> getTodayStatistics();
}
